package com.itheima.mall.service.umsService;

import com.itheima.mall.commons.PageBean;
import com.itheima.pojo.ums.UmsRole;
import org.apache.dubbo.config.annotation.DubboReference;
import org.springframework.stereotype.Service;

import java.util.ArrayList;

@Service
public class UmsRoleService {
    @DubboReference
    private UmsRoleApi umsRoleApi;

    /**
     * 根据角色IDS获取后台用户角色信息
     * @param roleIds 角色ID数组
     * @return
     */
    public ArrayList<UmsRole> getrole(ArrayList<Long> roleIds) {
        return umsRoleApi.getrole(roleIds);
    }

    /**
     * 添加角色
     * @param role 角色信息
     * @return
     */
    public void create(UmsRole role) {
        umsRoleApi.create(role);
    }

    /**
     * 批量删除角色
     * @param ids 角色IDS数组
     * @return
     */
    public void delete(ArrayList<Long> ids) {
        umsRoleApi.delete(ids);
    }

    /**
     * 根据角色名称分页获取角色列表
     * @param pageNum 页码
     * @param pageSize 条目数
     * @param keyword 角色关键字
     * @return
     */
    public PageBean<UmsRole> list(Integer pageNum, Integer pageSize, String keyword) {
        return umsRoleApi.list(pageNum,pageSize,keyword);
    }

    /**
     * 获取所有角色
     * @return
     */
    public ArrayList<UmsRole> listAll() {
        return umsRoleApi.listAll();
    }

    /**
     *修改角色
     * @param id 角色ID
     * @param role 角色信息
     * @return
     */
    public void updateById(Long id, UmsRole role) {
        umsRoleApi.updateById(id,role);
    }

    /**
     * 修改角色状态
     * @param id 角色ID
     * @param status 需要修改的角色状态标识
     * @return
     */
    public void updateStatus(long id, Integer status) {
        umsRoleApi.updateStatus(id,status);
    }
}
